import datetime
import os
import schedule
import time
from logging.handlers import RotatingFileHandler
import logging
# 设置日志等级
logging.basicConfig(level=logging.DEBUG)
# 创建一个日志记录者，指出日志保存的地址，然后日志文件的大小最大多少
file_log_handler = RotatingFileHandler('del_log/log', maxBytes=1024*1024, backupCount=10)
# 设置日志格式
formatter=logging.Formatter('%(levelname)s %(filename)s %(lineno)d %(message)s')
# 设置应用日志格式的日志记录者
file_log_handler.setFormatter(formatter)
# 将日志书写者添加到全局日志工具中
logging.getLogger().addHandler(file_log_handler)
def job():
    """
    任务1
    :return:
    """
    try:
        print('调用了定时任务')
        with open('file_time.txt', mode="r", encoding="utf-8", newline='\n') as file:
            for line in file.readlines():
                print(line)
                # 切割后的列表
                temp = line.split("\t")
                # 当前时间的24小时前
                now_time_24 = datetime.datetime.strptime((datetime.datetime.now() - datetime.timedelta(hours=24))
                                                         .strftime("%Y-%m-%d-%H:%M:%S"), "%Y-%m-%d-%H:%M:%S")
                print(temp[1][:-1])
                # 文件保存时间
                file_time = datetime.datetime.strptime(temp[1][:-1], "%Y-%m-%d-%H:%M:%S")

                # 是否超过24小时, 24小时候后可删除
                is_del = now_time_24 > file_time
                if os.path.exists('../'+temp[0]) and is_del:  # 如果文件存在
                    # 删除文件，可使用以下两种方法。
                    os.remove('../'+temp[0])
    except Exception as e:
        logging.info(e)



def start_timer():
    """
    启动定时器
    :return:
    """
    try:
        print('启动定时器')
        schedule.every(30).minutes.do(job).run()
        while True:
            schedule.run_pending()
            time.sleep(1)
    except Exception as e:
        logging.info(e)

if __name__ == '__main__':
    start_timer()